package models;

import java.util.Date;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import play.db.jpa.Model;

@Entity
public class Posicao extends Model {
	public static enum Voto {
		SIM,
		NAO,
		NDA
	}

	@ManyToOne
	private Politico politico;

	@ManyToOne
	private Materia materia;
	
	@OneToMany(mappedBy="posicao", cascade=CascadeType.ALL)
	private Set<Aprovacao> aprovacoes;
	
	private Voto voto;
	
	public Politico getPolitico() {
		return politico;
	}

	public void setPolitico(Politico politico) {
		this.politico = politico;
	}

	public Materia getMateria() {
		return materia;
	}

	public void setMateria(Materia materia) {
		this.materia = materia;
	}

	public Voto getVoto() {
		return voto;
	}

	public void setVoto(Voto voto) {
		this.voto = voto;
	}

	public Set<Aprovacao> getAprovacoes() {
		return aprovacoes;
	}

	public void setAprovacoes(Set<Aprovacao> aprovacoes) {
		this.aprovacoes = aprovacoes;
	}
	
	@Override
	public String toString() {
		switch (getVoto()) {
		case SIM:
			return "Sim";
		case NAO:
			return "Não";
		case NDA:
			return "Não votou";
		default:
			return "";
		}
	}

}